Lập trình viên Full-Stack Front-end và back-end

Một lập trình viên Full-Stack[4] là người có thể phát triển phần mềm cho cả người dùng và nhà cung cấp dịch vụ. Nói một cách dễ hiểu, một lập trình viên Full-Stack có kiến thức về toàn bộ công nghệ tạo nên một trang web. Họ có thể làm việc trong cả hai ngôn ngữ front-end và back-end. Họ chủ yếu tập trung vào phát triển web ở cả hai đầu.

Hầu hết vị trí này không phải là lập trình viên toàn diện ngay từ đầu. Họ thường làm việc ở nhiều vai trò trước khi chuyển sang full-stack. Họ cũng có xu hướng thoải mái với cả logic kinh doanh và trải nghiệm người dùng. Nói cách khác, họ có đủ kiến thức về kinh doanh để đưa ra lời khuyên cho người khác.

  • Các ngôn ngữ đánh dấu và ngôn ngữ web như HTML, CSS, JavaScript và các thư viện phụ trợ thường được sử dụng trong các ngôn ngữ đó như Sass hoặc jQuery
  • Xử lý yêu cầu không đồng bộ và AJAX
  • Các ứng dụng một trang (với các khung phần mềm như React, AngularJS hoặc Vue.js)
  • Hiệu năng web (First Meaningful Paint hay hình ảnh có ý nghĩa đầu tiên, thời gian để tương tác, hoạt ảnh và tương tác 60 FPS, sử dụng bộ nhớ, v.v.)
  • Thiết kế web đáp ứng
  • Các vấn đề về khả năng tương thích trên nhiều trình duyệt và cách giải quyết
  • Kiểm thử đầu cuối với trình duyệt Headless Browser là một trình duyệt web không có giao diện đồ họa người dùng
  • Tự động hóa xây dựng để chuyển đổi và đóng gói các tệp JavaScript, giảm kích thước hình ảnh ... bằng các công cụ như Webpack hoặc Gulp.js
  • Tối ưu hóa công cụ tìm kiếm
  • Mối quan tâm về khả năng tiếp cận
  • Cách sử dụng cơ bản các công cụ chỉnh sửa hình ảnh như GIMP hoặc Photoshop
  • Giao diện người dùng

Back-end tập trung vào

Lưu ý rằng cả hai vị trí, mặc dù có thể làm việc trên một sản phẩm, nhưng có một bộ kỹ năng rất khác biệt.